public final class XinSingleton{
    private static volatile XinSingleton INSTANCE;
    private XinSingleton(){}

    public static XinSingleton getInstance(){
        if(INSTANCE != null) return INSTANCE;
        synchronized(XinSingleton.class){
            if(INSTANCE != null) return INSTANCE;
            INSTANCE = new XinSingleton();
            return INSTANCE;
        }
    }


    public static void main(String[] args) {
        System.out.println("this is " + INSTANCE);
    }
}